import java.io.File;
import java.lang.reflect.Field;
import java.nio.file.Paths;
import java.util.Scanner;

public class demo11 {
    public static void main(String[] args) {
        Scanner scanner =  new Scanner(System.in);
        System.out.println("请输入你要查询的路径");
        String rootDirectoryPath = scanner.next();
        //创建文件对象
        File rootDir = new File(rootDirectoryPath);
        //判断传过来的路径是存在目录
        if(!rootDir.isDirectory()){
            System.out.println("改路径下不是目录,退出");
            return;
        }
        System.out.println("输入你要指定文件中该包含的字符");
        String target = scanner.next();
        //扫描该目录是否包含指定字符的文件
        scanDir(rootDir,target);
    }

    private static void scanDir(File rootDir, String target) {
        File[] files = rootDir.listFiles();
            if(files==null){
                //目录为空
                System.out.println("目录为空,退出");
                return;
            }
            for (File file :files){
                //判断该file是文件还是目录
                if(file.isFile()){
                    //是文件---进行判断是否包含指定字符和删除逻辑
                    dealFile(file,target);
                }else{
                    //目录---递归去继续扫描该目录
                    scanDir(file,target);
                }
        }

    }
    private static void dealFile(File file, String target) {
        if(file.getName().contains(target)){
            System.out.println("发现文件"+file.getAbsolutePath()+"包含指定字符是否删除?");
            System.out.println("输入x删除,输入y不删除");
            Scanner scanner = new Scanner(System.in);
           String ans = scanner.next();
           if(ans.equalsIgnoreCase("x")){
               file.delete();
               System.out.println("删除成功");
               return;
           }else {
               System.out.println("不删除退出成功");
               return;
           }
        }
    }
}
